Skip to content

Release notes for v2.1.0#1229

Merged
tsmbland merged 8 commits intomainfrom
v2.1.0_release_notes
Mar 31, 2026
Merged

Release notes for v2.1.0#1229
tsmbland merged 8 commits intomainfrom
v2.1.0_release_notes

Conversation

@tsmbland
Copy link
Copy Markdown
Collaborator

@tsmbland tsmbland commented Mar 30, 2026

Description

Release notes for the upcoming v2.1.0 release, designed to capture user-relevant changes since v2.0.0 (d544d65). I'm sure I've probably missed something so please shout if you (or the AI) spot anything or have any other suggestions.

These are probably far more user facing than they have any right to be at this stage, given our tiny user base, but I think it's not a bad idea to start as we mean to go on. I thought it was a nice idea to include a list of breaking changes to make it really clear what changes users will need to make to existing files to work with the new version, even if some of this is a rehash of points previously mentioned.

I've put a tentative date of March 31st, given our original aim to get this out before the end of March, but this can be changed if needed.

Also found some schema errors in the process_ files.

Fixes #1218

Type of change

  • Bug fix (non-breaking change to fix an issue)
  • New feature (non-breaking change to add functionality)
  • Refactoring (non-breaking, non-functional change to improve maintainability)
  • Optimization (non-breaking change to speed up the code)
  • Breaking change (whatever its nature)
  • Documentation (improve or add documentation)

Key checklist

  • All tests pass: $ cargo test
  • The documentation builds and looks OK: $ cargo doc
  • Update release notes for the latest release if this PR adds a new feature or fixes a bug
    present in the previous release

Further checks

  • Code is commented, particularly in hard-to-understand areas
  • Tests added that prove fix is effective or that feature works

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.74%. Comparing base (302f558) to head (99fcd86).
⚠️ Report is 12 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1229   +/-   ##
=======================================
  Coverage   89.74%   89.74%           
=======================================
  Files          57       57           
  Lines        8195     8195           
  Branches     8195     8195           
=======================================
  Hits         7355     7355           
  Misses        544      544           
  Partials      296      296           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tsmbland tsmbland marked this pull request as ready for review March 30, 2026 11:06
Copilot AI review requested due to automatic review settings March 30, 2026 11:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the v2.1.0 release notes and aligns repository metadata for the upcoming release, while also correcting process-related input schema column names.

Changes:

  • Add docs/release_notes/v2.1.0.md and clear out upcoming.md now that notes have been “cut” for the release.
  • Fix schema column naming for process-related inputs by renaming yearscommission_years.
  • Bump crate version to 2.1.0 and update release metadata (CITATION.cff, docs summary).

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
schemas/input/process_parameters.yaml Rename years field to commission_years and update notes wording.
schemas/input/process_flows.yaml Rename years field to commission_years and update notes wording.
schemas/input/process_availabilities.yaml Rename years field to commission_years.
docs/release_notes/v2.1.0.md Add v2.1.0 release notes content.
docs/release_notes/upcoming.md Remove prior “upcoming” entries after moving into v2.1.0 notes.
docs/SUMMARY.md Add v2.1.0 release notes entry to the documentation summary.
Cargo.toml Bump package version to 2.1.0.
Cargo.lock Update lockfile version entry for muse2 to 2.1.0.
CITATION.cff Update citation metadata for v2.1.0 (version/date formatting).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 30, 2026 11:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +3 to +5
This release represents over 5 months of development since v2.0.0, adding a number of exciting new
features, as well as some small improvements, bug fixes, and underlying code changes designed to
improve performance and maintainability.
Copy link

Copilot AI Mar 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many lines in this new release note exceed the repo’s markdownlint MD013 limit (100 chars) and are likely to fail the pre-commit markdownlint-fix hook. Please reflow/wrap the paragraphs and long list items (or explicitly disable MD013 for this file if intentional).

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Erm... not true

@tsmbland tsmbland requested a review from alexdewar March 30, 2026 11:37
@tsmbland
Copy link
Copy Markdown
Collaborator Author

@alexdewar Link checker failing. Can we not use relative links? They all work for me locally

Copy link
Copy Markdown
Collaborator

@alexdewar alexdewar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is excellent! Good work 😄

Like you say, even we could get away with less detail for this release, it's good to get into the habit for future. Having it as part of the documentation trail for the project is useful too.

Good job spotting the errors in the schemas... that reminds me that I started working on #623 ages ago, but never finished it. Maybe worth picking up again for the next engagement.

I figured out why the link checker was complaining (see comment). For future reference, we use lychee as a link checker and you can run it locally (it's a Rust program, so can be installed with cargo), e.g. lychee --exclude-path ^target .

Requesting changes because of the link checker thing.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this file has been reformatted because the prettier pre-commit hook doesn't recognise it as a YAML file. We could probably tweak things in the .pre-commit-config.yaml file so this also gets formatted by prettier, but possibly not worth the effort 😛

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just did cmd-s out of habit while working on this file and then this happened, not sure why

- family-names: Scharpf
given-names: Benjamin
- family-names: Karimi
given-names: Aurash
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess @Aurashk might have an ORCID too, but I couldn't find one on his GitHub page or Imperial profile. Probably doesn't matter much...

Comment on lines +131 to +141
[`demand.csv`]: ../file_formats/input_files.html#demandcsv
[`processes.csv`]: ../file_formats/input_files.html#processescsv
[`process_flows.csv`]: ../file_formats/input_files.html#process_flowscsv
[`process_availabilities.csv`]: ../file_formats/input_files.html#process_availabilitiescsv
[`process_parameters.csv`]: ../file_formats/input_files.html#process_parameterscsv
[`process_investment_constraints.csv`]: ../file_formats/input_files.html#process_investment_constraintscsv
[`commodities.csv`]: ../file_formats/input_files.html#commoditiescsv
[`commodity_levies.csv`]: ../file_formats/input_files.html#commodity_leviescsv
[`model.toml`]: ../file_formats/input_files.html#model-parameters-modeltoml
[`assets.csv`]: ../file_formats/input_files.html#assetscsv
[`settings.toml`]: ../file_formats/program_settings.html
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason the link checker is complaining is because it checks links in both markdown and HTML files separately. So these links will work for the generated docs in book/, but when it's looking at the raw markdown, they won't (there's no input_files.html file, just input_files.md).

You could shut it up by just changing the .html extensions to .md, but then these links won't work when we paste this text into the release description box for the actual release. To make this work, we'll need absolute links. Ideally, these would point to the v2.1.0 version of the docs in case we break these links in future, but alas, that doesn't exist yet! Bit of a 🐔 and 🥚 situation... Ideas for this welcome 😄 .

Anyway, this should do for now:

Suggested change
[`demand.csv`]: ../file_formats/input_files.html#demandcsv
[`processes.csv`]: ../file_formats/input_files.html#processescsv
[`process_flows.csv`]: ../file_formats/input_files.html#process_flowscsv
[`process_availabilities.csv`]: ../file_formats/input_files.html#process_availabilitiescsv
[`process_parameters.csv`]: ../file_formats/input_files.html#process_parameterscsv
[`process_investment_constraints.csv`]: ../file_formats/input_files.html#process_investment_constraintscsv
[`commodities.csv`]: ../file_formats/input_files.html#commoditiescsv
[`commodity_levies.csv`]: ../file_formats/input_files.html#commodity_leviescsv
[`model.toml`]: ../file_formats/input_files.html#model-parameters-modeltoml
[`assets.csv`]: ../file_formats/input_files.html#assetscsv
[`settings.toml`]: ../file_formats/program_settings.html
<!-- Use absolute links so they work when we paste into release notes box -->
[`demand.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#demandcsv
[`processes.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#processescsv
[`process_flows.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_flowscsv
[`process_availabilities.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_availabilitiescsv
[`process_parameters.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_parameterscsv
[`process_investment_constraints.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#process_investment_constraintscsv
[`commodities.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#commoditiescsv
[`commodity_levies.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#commodity_leviescsv
[`model.toml`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#model-parameters-modeltoml
[`assets.csv`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/input_files.html#assetscsv
[`settings.toml`]: https://energysystemsmodellinglab.github.io/MUSE2/file_formats/program_settings.html

Copy link
Copy Markdown
Collaborator Author

@tsmbland tsmbland Mar 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering how this works with different versions of the documentation. In this case it would make most sense to point to the documentation for v2.1.0, but in general it makes most sense for intra-documentation links to point to the same version of the documentation as what we're currently looking at. As it stands, I think all absolute links are going to point to the latest version of the docs, which is annoying if you're looking at the documentation for an old version, click a link, and now suddenly you're looking at documentation for the newest version, probably without even realising

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've done what you've suggested for now. To be honest, I'm not sure we really need to put the full release notes in the description box for the release - for MUSE1 I always just copy a link to the actual release notes in the documentation

@tsmbland tsmbland requested a review from alexdewar March 31, 2026 08:14
@tsmbland tsmbland merged commit 656eb32 into main Mar 31, 2026
8 checks passed
@tsmbland tsmbland deleted the v2.1.0_release_notes branch March 31, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Review and revise release notes for v2.1.0 release

3 participants